root = config.root
targets = root.targets
if ('X86' in targets) | ('AArch64' in targets) | ('ARM' in targets) | \
   ('Mips' in targets) | ('PowerPC' in targets) | ('SystemZ' in targets):
    config.unsupported = False
else:
    config.unsupported = True

# FIXME: autoconf and cmake produce different arch names. We should normalize
# them before getting here.
if root.host_arch not in ['i386', 'x86', 'x86_64', 'AMD64',
                          'AArch64', 'ARM', 'Mips',
                          'PowerPC', 'ppc64', 'ppc64le', 'SystemZ']:
    config.unsupported = True

if 'armv7' in root.host_arch:
    config.unsupported = False

if 'i386-apple-darwin' in root.target_triple:
    config.unsupported = True

if 'powerpc' in root.target_triple and not 'powerpc64' in root.target_triple:
    config.unsupported = True

# ExecutionEngine tests are not expected to pass in a cross-compilation setup.
if 'native' not in config.available_features:
    config.unsupported = True
